As data stores expand, standard SQL-style tables are no longer optimal (or even capable) of storing the data and executing queries. However, programmers (and programs) have built-up skills in composing, manipulating, and executing SQL queries. For example, consider searching for People from Seattle in a web space of a social network. In an underlying nonSQL-type search index such as this, a query similar to the following may be needed:                meta:search.pt(people) meta:search.location(seattle) site:web.spaces.live.com.        
Unfortunately, that query syntax is likely unfamiliar to a relatively new programmer or a programmer unfamiliar with the underlying data store implementation. But the following SQL like query:                SELECT*FROM People WHERE Location=“seattle”        
is consistent with a SQL syntax that a programmer likely learned in school or is otherwise familiar to the programmer. Thus, a programmer unfamiliar with the underlying data store implementation of a social network and the corresponding indexes would have to spend time learning the underlying data store implementation and the query languages needed to query these indexes. Also, every time there was a change to the underlying data store implementation, the programmer would have to check every query in every application leading to inefficient and expensive maintenance costs.